package cn.source.zk.domain.dto;

import cn.hutool.core.date.DateTime;
import cn.source.common.annotation.Log;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Slf4j
public class DbDataAnalysisQueryDTO implements Serializable {
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String startTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String endTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String[] datetime;

    private String dataType;  //数据类型

    private String monitoringItem; //监测项目,查询的字段

    private String groupMethod; //汇总方式

    private String tableName; //表名列表

    private String tdGuid;
    private String deviceId;


    /**
     * 重写setDatetime方法;
     * @param datetime
     */
    public void setDatetime(String[] datetime) {
        if (datetime != null && datetime.length == 2) {
            this.startTime = datetime[0]; // 假设第一个元素是开始时间
            this.endTime = datetime[1]; // 假设第二个元素是结束时间
        } else {
            // 处理错误情况，比如数组为null或长度不为2
            // 可以抛出异常，或者设置默认值等
            this.startTime = null;
            this.endTime = null;
        }
    }


}
